1. Field of the Invention
The invention relates to an information processing apparatus, an information processing method, and a memory medium in which a print control program has been stored. More particularly, the invention relates to an information processing apparatus which is suitable for controlling, for example, a printer through a predetermined communication medium and functions as a host computer and to an information processing method and a memory medium in which a printer driver program which operates on the information processing apparatus has been stored.
2. Related Background Art
First, an information processing method in a conventional print system and a flow of processes will be described with reference to FIG. 2.
According to the conventional print system, generally, as shown in FIG. 2, a host computer and a laser beam printer are connected through parallel communication means such as a Centronics interface or through network communication means.
On the host computer side, application software 201 such as word processor or spreadsheet operates on what is called basic software such as Windows (registered trademark of Microsoft Corporation in U.S.A.). In case of printing on the basis of such an application, a function of a graphic sub-system 202 among several sub-systems which are provided by the basic software is used. For example, the graphic sub-system is called GDI (Graphic Device Interface) 2021 in Windows and executes processes of image information for a display or a printer.
The GDI 2021 dynamically links a module called a device driver in order to absorb dependency of each device such as display or printer and executes an outputting process to each device. The module for the printer is called a printer driver 2023.
For the printer driver 2023, a function group called DDI 2022 (Device Driver Interface) which has previously been determined to be installed into the device driver needs to be prepared in accordance with its ability, function, or the like. With respect to an API (Application Programming Interface) call of the application, the GDI 2021 converts data into data for the device driver, the DDI function group 2022 is properly called from the GDI 2021, and a predetermined printing process is executed. The GDI 2021 sequentially processes a print request from the application through the printer driver 2023. Generally, a PDL command is generated in the printer driver 2023 existing in the mechanism of the OS as mentioned above or a rendering process is executed as an image mode.
In order to individually perform a banding process in the image mode or realize a function which is not supported by the OS, that is, a function such as page handling process in a reverse order print mode (a last-come first print mode) or the like or automatic switching of a processing mode, the printer driver 2023 executes only generation of an intermediate language file (PDF 2031) from a received draw command, and a despooler 2032 of a spool sub-system 203 as an application reads the PDF 2031 and adds additional functions.
Processes of the printer driver are mainly classified into two kinds of a PDL mode (refer to 2033) and an image mode (refer to 2034 to 2036).
The PDL mode 2033 is used in the case where a printer side has a controller which can process a control command called PDL (Printer Description Language). Immediately after the PDF 2031 is converted into the command of the PDL, the command is sent to a printing apparatus (printer) 100 through an interface (I/F) 2038.
As processes in the PDL mode, since commands are merely sequentially generated from the received data by the DDI 2022, it is regarded that they are light processes for the driver. In the PDL mode type, if analyzing ability of the PDL command of the printer is high, data having a high abstract degree received from the GDI 2021 can be sent as it is, there is a feature such that a print speed in the normal page print to mainly print characters is high irrespective of an output gradation.
However, if it is intended to output a complicated figure or an image of a high resolution and a high gradation by an application of the graphics system, a size of PDL command increases and a transfer speed of data and a processing speed of the printer deteriorate. Theoretically, there is not an upper limit of the size of PDL command.
According to the image mode, a print image is developed on a band memory space held on the printer driver side, converted into a form in which the print image can be directly printed by the printer, and the converted image data is transmitted to the printer, thereby printing it.
According to the image mode type, since a size of transfer data is determined by a draw area and the number of output gradations, there is a feature such that a transfer speed of data and a processing time of the printer in case of a simple page and those of a complicated page are not so different. Therefore, even in case of a page which takes a long processing time in the PDL mode, it can be printed at a relatively high speed. However, even in case of a simple page of only characters, it is difficult to make the printer operative in accordance with a throughput of an engine.
When the PDF 2031 is despooled, the despooler 2032 uses a band memory divided into a proper height, separately sends draw commands regarding draw positions to modules 2034 to 2036 for the image mode a plurality of number of times, and executes a drawing process. Generated bit map data is sent to the printer 100 through the I/F 2038 every band.
As a feature of the image mode, a point that a drawing processing speed of a high resolution color image or complicated graphics data is high can be mentioned. However, also with respect to characters or a simple figure, since image data in a whole draw area is generated at an output resolution and an output gradation and sent as a print command, such an image mode is not suitable for the high speed print of a page of a high resolution and a high gradation.
Since the drawing process is performed in both of the image mode and the PDL mode, a memory area for drawing corresponding to one page is necessary on the host computer side in the image mode and necessary on the printer side in the PDL mode. In a color printer, however, a capacity of 96 Mbytes is necessary if it is intended to assure a memory of a capacity corresponding to 600 dpi of 8 bits per each color of RGB and a full page of the A4 size. At present, it is difficult to assure such a memory even in a host machine. Therefore, in the drawing process of the color printer, a color space of 1, 2, or 4 bits per each color of YMCK as an output format is used and a band memory in which a page is further divided into several areas is used, thereby reducing the capacity of the memory for the drawing process.
The process for dividing one page into a plurality of bands and performing the drawing process as mentioned above is called a banding process. With respect to the banding process, the draw commands of one page are held on the printer side in case of the PDL mode and on the host machine side in case of the image mode and only a print command necessary for each band is processed, thereby realizing the drawing process of each band.
However, among the draw commands which are sent through the DDI 2022, there is a command such that a 1-line draw function (Windows9X; SCANLINE of an Output function) and a rectangle painting function of a few pixels (Windows9X; RECTANGLE of the Output function) are called many times and a figure drawing process of a complicated shape is executed. In such a case, if a spooling process of one page is executed by the printer driver, a problem such that the number of intermediate languages and the data size increase and they become factors of reduction of the processing speed occurs.